package org.tea.inventory.model.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.tea.inventory.base.validation.groups.CreateGroup;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Positive;
import java.util.List;

/**
 * @author hanzy
 * @description
 * @date 2023年04月04日 16:00
 */
@Data
public class SkuDto {

    @ApiModelProperty(value = "")
    private Long skuId;
    /**
     * 产品编号
     */
    @ApiModelProperty(value = "产品编号")
    private String seq;

    /**
     * 产品名称
     */
    @ApiModelProperty(value = "产品名称")
    @NotBlank(message = "商品名称不能为空", groups = {CreateGroup.class})
    private String name;

    /**
     * 商品图
     */
    @ApiModelProperty(value = "商品图")
    @NotBlank(message = "缩略图不能为空", groups = {CreateGroup.class})
    private String imgUrl;

    /**
     * 产品种类：0-积分商品 1-节日礼品
     */
    @ApiModelProperty(value = "产品种类：0-积分商品 1-节日礼品")
    private Integer skuType;

    /**
     * 产品属性 0-虚拟 1-实物
     */
    @ApiModelProperty(value = "产品属性 0-虚拟 1-实物")
    @NotBlank(message = "商品属性不能为空", groups = {CreateGroup.class})
    private String productAttribute;

    /**
     * 产品所在地
     */
    @ApiModelProperty(value = "产品所在地")
    private String location;

    /**
     * 兑换方式 0-无需快递 1-快递
     */
    @ApiModelProperty(value = "兑换方式")
    private List<String> deliveryTypes;

    /**
     * 价格
     */
    @ApiModelProperty(value = "价格")
    private Long price;

    /**
     * 实际库存
     */
    @ApiModelProperty(value = "实际库存")
    @Positive(message = "库存量不能为空", groups = {CreateGroup.class})
    private Integer actualStock;
    /**
     * 状态 -1:删除, 0:下架, 1:上架
     */
    @ApiModelProperty(value = "状态 -1:删除, 0:下架, 1:上架")
    private Integer status;


    @ApiModelProperty(value = "商品备注")
    private String comment;

    @ApiModelProperty(value = "商品历史价格")
    private String hisPrice;

    @ApiModelProperty(value = "副图")
    private String imgIds;

    @ApiModelProperty(value = "商品介绍")
    private String skuDesc;

    @ApiModelProperty(value = "快递类型 0-不包邮 1-包邮")
    private String freightType;

    @ApiModelProperty(value = "运费")
    private Long freightAmount;

    @ApiModelProperty(value = "福利类型 0-非福利 1-福利")
    private String welfare;

    @ApiModelProperty(value = "商品简称")
    private String brief;

    @ApiModelProperty(value = "折扣比例")
    private Double discountRatio;

    @ApiModelProperty(value="销售价格￥")
    private Double salesPrice;


}
